package br.pucrio.inf.csm;

import java.util.List;

public interface ISchema extends Iterable<Attribute> {

	public abstract List<Attribute> getAttributes();
	
	public abstract Attribute getAttributeByName(String name);
	
	public abstract Attribute getAttribute(int index);
	
	public abstract int getAttributeIndex(Attribute attribute) throws SchemaException;

	public abstract int getSize();
	
	public abstract String getName();
		
	public abstract Attribute getThesaurusAttribute();
	
	public abstract List<Attribute> getIdentityAttributes();
	
	public boolean contains(Attribute atribute);
}